Вронскианная формула для КдФ

В.Э. Адлер. Классические интегрируемые системы, весенний семестр 2020

На лекции было получено семейство явных решений уравнения

(Subscript[u, t])=(Subscript[u, x x x])+6u (Subscript[u, x])

имеющее вид

u=2(∂_x^2) log W((Subscript[y, 1]),...,(Subscript[y, n])),   (Subscript[y, j])=(Subscript[c, j])(e^(-(Subscript[X, j])))-(e^(Subscript[X, j])), (Subscript[X, j])=(Subscript[k, j])x+4(Subscript[k, j]^3)t.

Здесь мы проверим эту формулу для n=1,2 и посмотрим на графики при n=3, при разных значениях параметров. Вычисление определителя – довольно затратная операция, поэтому при больших n формула малопригодна для расчетов (что не снижает ее теоретической значимости). Чуть более экономно вычисления проводятся при помощи преобразований Бэклунда, это мы еще будем проходить.

W[f__]:=Det[Table[D[{f}[[j]],{x,i-1}],{i,1,Length[{f}]},{j,1,Length[{f}]}]]

Вещественные (Subscript[k, j]),(Subscript[c, j])

X[j_]:=k[j]x+4((k[j])^3)t
Y[j_]:=c[j]Exp[-X[j]]-Exp[X[j]]

. n=1

u1=Simplify[2D[Log[Y[1]],x,x]]
D[u1,t]-D[u1,x,x,x]-6u1 D[u1,x];
Simplify[%]

Построим график, считая (Subscript[k, 1]) и (Subscript[c, 1]) вещественными. При отрицательном (Subscript[c, 1]) имеем солитон, при положительном решение имеет полюс.

Manipulate[Plot[u1/.{k[1]->k1,c[1]->c1,t->tt},{x,-10,10},
PlotRange->{-10,10},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","u"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{c1,-1},-5,5,Appearance->"Labeled"},
{{tt,0},-5,5,Appearance->"Labeled"}
]

. n=2

Проверка формулы при n=2 уже требует некоторого времени.

u2=Simplify[2D[Log[W[Y[1],Y[2]]],x,x]]
D[u2,t]-D[u2,x,x,x]-6u2 D[u2,x];
Simplify[%]

При некоторых значениях параметров решение регулярно, при других имеет 1 или 2 полюса.

Manipulate[Plot[u2/.{k[1]->k1,k[2]->k2,c[1]->c1,c[2]->c2,t->tt},{x,-10,10},
PlotRange->{-10,10},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","u"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{k2,1.4},-2,2,Appearance->"Labeled"},
{{c1,-1},-5,5,Appearance->"Labeled"},
{{c2,4},-5,5,Appearance->"Labeled"},
{{tt,0},-5,5,Appearance->"Labeled"}
]

. n=3

Прямая проверка формулы при n=3 безнадежна, так как само решение уже слишком громоздко (чтобы посмотреть на него, уберите точку с запятой после следующего присваивания и выполните его заново).

u3=Simplify[2D[Log[W[Y[1],Y[2],Y[3]]],x,x]];

Тем не менее график все еще достаточно бодро строится. Опять, в зависимости от выбора параметров решение имеет от 0 до 3 полюсов.

Manipulate[Plot[u3/.{k[1]->k1,k[2]->k2,k[3]->k3,c[1]->c1,c[2]->c2,c[3]->c3,t->tt},{x,-10,10},
PlotRange->{-10,10},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","u"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{k2,1.4},-2,2,Appearance->"Labeled"},
{{k3,1.9},-2,2,Appearance->"Labeled"},
{{c1,-1},-5,5,Appearance->"Labeled"},
{{c2,4},-5,5,Appearance->"Labeled"},
{{c3,-3},-5,5,Appearance->"Labeled"},
{{tt,0},-5,5,Appearance->"Labeled"}
]

Пара примеров с комплексными параметрами

Вместо комбинации экспонент, можно брать в качестве (Subscript[y, j]) тригонометрические функции, что отвечает чисто мнимым (Subscript[k, j]). Для примера, пусть (Subscript[y, 1]) экспоненты, а (Subscript[y, 2]) косинус.

u4=Simplify[2D[Log[W[Y[1],Cos[k[2]x-4((k[2])^3)t+d[2]]]],x,x]]
D[u4,t]-D[u4,x,x,x]-6u4 D[u4,x];
Simplify[TrigToExp[%]]

Manipulate[Plot[u4/.{k[1]->k1,k[2]->k2,c[1]->c1,d[2]->d2,t->tt},{x,-10,10},
PlotRange->{-10,10},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","u"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{k2,0.5},-2,2,Appearance->"Labeled"},
{{c1,2},-5,5,Appearance->"Labeled"},
{{d2,0},-5,5,Appearance->"Labeled"},
{{tt,0},-5,5,Appearance->"Labeled"}
]

Или возьмем пару комплексно сопряженных (Subscript[y, 1]),(Subscript[y, 2]). Получается такой волновой пакет с осцилляциями, но у него есть еще и полюс. В некоторых других уравнениях (например, в нелинейном уравнении Шредингера) возможны решения подобного типа без полюсов.

u2/.{c[1]->a+b I,c[2]->a-b I,k[1]->p+I q,k[2]->p-I q};
u5=Simplify[ComplexExpand[%]]

Manipulate[Plot[u5/.{a->aa,b->bb,p->pp,q->qq,t->tt},{x,-10,10},
PlotRange->{-10,10},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","u"}],
{{aa,1},-2,2,Appearance->"Labeled"},
{{bb,0.5},-2,2,Appearance->"Labeled"},
{{pp,0.2},-5,5,Appearance->"Labeled"},
{{qq,3},-5,5,Appearance->"Labeled"},
{{tt,0},-2,2,Appearance->"Labeled"}
]

Уравнение pot-КдФ

Уравнение pot-КдФ (потенцированное КдФ)

(Subscript[v, t])=(Subscript[v, x x x])+6(Subscript[v, x]^2)

связано с КдФ подстановкой u=2(Subscript[v, x]) и для него вронскианная формула принимает чуть более простой вид

v=(∂_x) log W((Subscript[y, 1]),...,(Subscript[y, n])),   (Subscript[y, j])=(Subscript[c, j])(e^(-(Subscript[X, j])))-(e^(Subscript[X, j])), (Subscript[X, j])=(Subscript[k, j])x+4(Subscript[k, j]^3)t.

Легко понять, что солитонным решениям КдФ отвечают в этом уравнении решения, выходящие на разные постоянные при x->±∞. Такие решения называются кинками. Отметим, что есть разные типы кинков; например, в уравнении синус-Гордона кинки “топологические”, что означает, что предельные значения не могут быть произвольными, они “квантуются”. В уравнении pot-КдФ предельные значения могут быть любыми, но решение всегда возрастающее по x (не бывает антикинков).

Пример 2-кинкового решения.

v2=FullSimplify[D[Log[W[Sinh[X[1]],Cosh[X[2]]]],x]]
D[v2,t]-D[v2,x,x,x]-6 ((D[v2,x])^2);
Simplify[%]

Manipulate[
Plot[v2/.{k[1]->k1,k[2]->k2,d[1]->d1,d[2]->d2,t->tt},{x,-60,60},
PlotRange->{-2.15,2.15},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","v"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{k2,0.8},-2,2,Appearance->"Labeled"},
{{d1,0},-2,2,Appearance->"Labeled"},
{{d2,0.5},-2,2,Appearance->"Labeled"},
{{tt,-12},-12,12,Appearance->"Labeled"}]

3-кинковое решения.

v3=D[Log[W[Cosh[X[1]],Sinh[X[2]],Cosh[X[3]]]],x];

Manipulate[
Plot[v3/.{k[1]->k1,k[2]->k2,k[3]->k3,d[1]->d1,d[2]->d2,d[3]->d3,t->tt},{x,-60,60},
PlotRange->{-3.15,3.15},
PlotStyle->{Blue},
BaseStyle->{FontSize->16,FontFamily->"Times New Roman"},
ImageSize->300,
AxesLabel->{"x","v"}],
{{k1,1},-2,2,Appearance->"Labeled"},
{{k2,0.8},-2,2,Appearance->"Labeled"},
{{k3,0.5},-2,2,Appearance->"Labeled"},
{{d1,0},-2,2,Appearance->"Labeled"},
{{d2,0.5},-2,2,Appearance->"Labeled"},
{{d3,-0.5},-2,2,Appearance->"Labeled"},
{{tt,-12},-12,12,Appearance->"Labeled"}]